# Python的输入输出
# 输出：print()
# 输入：input("提示字符串")
# 输入一个年龄判断是否成年
# age = int(input("请输入一个年龄（0~200）："))
age = 20
print(age, type(age))
if age < 0 or age > 200:  # 如果有多个条件需要一起判断可以使用 and与 or或 ^异或 连接
    print("年龄不符合规范")
elif age < 18:
    print("未成年")
elif age >= 18:
    print("成年")
elif age == 18:  # 等值判断需要使用两个等于号，因为一个等号表示赋值
    print("18岁")
else:
    pass  # 表示什么都不干
print("判断完毕")

# Python读写文件
# 不管是读还是写文件 首先都需要打开一个文件
# 使用open()可以打开一个文件

# 读文件
# 使用绝对路径打开文件
# f = open("C:\\Users\\zzk10\\PycharmProjects\\pythonLearning07\\data\\theZenOfPython", mode='r')
f = open(r"C:\Users\zzk10\PycharmProjects\pythonLearning07\data\theZenOfPython", mode='r')
print(f.readline())  # 读取一行
print(f.read(10))  # 传入一个n，读取n个字符
for line in f.readlines():  # 读取文件所有的行，并将每一行数据作为list中的每一个元素 然后返回一个list
    print(line.replace("\n", ""))  # replace 替换字符

# 读完记得关闭
f.close()

# 写文件
# 使用相对路径打开文件
# ./ 当前目录（可以直接省略） ../ 上一级目录 ../../ 上上级目录
# 在linux中目录直接的换行符是左斜杠 / , 当指定的路径为 / 开头 则是 绝对路径；如果是不，则为相对路径
f2 = open("data/newfile1", mode='w')  # mode: w 表示覆盖写入
f2.write("abc")  # 直接写入数据
f2.write("\n")
f2.writelines([str(i) for i in range(1, 7)])
f2.write("\n")
f2.writelines(["第一行数据\n", "第2行数据\n", "第3行数据\n", "第4行数据\n"])

# 用完记得关闭
f2.close()

# 另一种打开方式
# with open （推荐）
# 不需要手动关闭文件，程序执行完后会自动关闭
# 读取theZenOfPython并写入newfile2
with open("data/theZenOfPython", mode="r",encoding="utf8") as f1:
    with open("data/newfile2", mode="a") as f2:
        # f2.writelines(f1.readlines())
        for line in f1.readlines():
            f2.write(line)
        f2.write("\n")
